package com.ibeeking.found.upms.b.rest.service;

import com.ibeeking.found.upms.service.common.bo.TenantAuthRoleBO;
import com.ibeeking.found.upms.service.common.bo.TenantAuthRoleUserBO;
import com.ibeeking.found.upms.service.common.param.TenantAuthRoleParam;
import com.ibeeking.found.upms.service.common.query.TenantAuthRolePageQuery;
import com.ibeeking.found.upms.service.common.vo.TenantAuthRolePageVO;
import com.ibeeking.found.upms.service.common.vo.TenantAuthRoleVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @ClassName ITenantAuthRoleService
 * @Description
 * @Author ibeeking
 * @Date 2021-04-28 8:53
 **/
public interface ITenantAuthRoleService {

    /**
     * 分页查询
     *
     * @param query
     * @return
     */
    Page<TenantAuthRolePageVO> pageList(TenantAuthRolePageQuery query);

    /**
     * 新增
     *
     * @param param
     * @return
     */
    Boolean add(TenantAuthRoleParam param);

    /**
     * 修改
     *
     * @param param
     * @return
     */
    Boolean modify(TenantAuthRoleParam param);

    /**
     * 查看
     *
     * @param id
     * @return
     */
    TenantAuthRoleVO view(Long id);

    /**
     * 查看
     *
     * @param id
     * @return
     */
    TenantAuthRoleBO queryById(Long id);

    /**
     * 启用/禁用
     *
     * @param id
     * @param status
     * @return
     */
    Boolean changeStatus(Long id, Integer status);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    Boolean del(Long id);

    List<TenantAuthRoleUserBO> queryUserIdsByRoleId(Long roleId);
}
